package com.example.administrator.intent_activity_onbackpress;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private Button startB;
    private Button btn1;
    //上次按返回的时间
    private long lastPressTime = 0;
    private final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.e(TAG, "onCreate");

        startB = findViewById(R.id.startB);
        btn1 = findViewById(R.id.btn1);
        startB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //使用显式Intent：各个组件间相互互动的一种重要手段
                //一般用于启动活动，启动服务，发送广播等
                //任何活动都需要在AndroidManifest.xml中进行注册
               /* //显式Intent   第一种
                Intent intent = new Intent();
                intent.setClass(MainActivity.this,ActivityB.class);
                startActivity(intent);*/


                /*//显式Intent   第二种
                Intent intent = new Intent();
                intent.setClassName("com.example.administrator.intent_activity_onbackpress",
                        "com.example.administrator.intent_activity_onbackpress.ActivityB");
                //className：包名 + 类名
                startActivity(intent);*/


                //显式Intent   第三种
                Intent intent = new Intent();
                intent.setClassName(MainActivity.this,
                        "com.example.administrator.intent_activity_onbackpress.ActivityB");
                startActivity(intent);
            }
        });

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_VIEW);
                intent.setData(Uri.parse("http://www.baidu.com"));
                startActivity(intent);
            }
        });
    }

    /*
    * 实现再按一次返回的功能
    * 1.提示   Toast
    * 2.再一次返回  第二次比第一次按下的时间间隔在2s以内
    * */
    @Override
    public void onBackPressed() {
        //获取当前按下的时间
        //System.currentTimeMillis()的单位为毫秒
        long currentPressTime = System.currentTimeMillis();
        Log.e(TAG, "currentPressTime="+currentPressTime);
        if(currentPressTime - lastPressTime>2000){
            //提示
            //show()进行显示
            Toast.makeText(MainActivity.this,
                    "再按一次返回",
                    Toast.LENGTH_SHORT).show();
            //更新上次按下的时间
            lastPressTime = currentPressTime;
        }else {
            super.onBackPressed();
        }
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.e(TAG, "onStart");
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.e(TAG, "onRestart");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.e(TAG, "onPause");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.e(TAG, "onStop");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.e(TAG, "onDestroy");
    }
}
